﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GC2.Bussines;
using GC2.Bussines.BMAdmin;
using GC2.Entities.Admin;
using GC2.Entities.Seguridad;
using GC2.ExceptionHandler;

public partial class Empleados_EmpleadosAdmin : GenericPage
{
    #region Propiedades
    Usuarios usuario = new Usuarios();
    Empleados empleadoActual = new Empleados();    
    List<Empleados> listEmpleados = new List<Empleados>();
    private ExceptionConstructor exNew = new ExceptionConstructor();
    #endregion

    #region Controles

    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
    {
        SetearCultura();
        SetearConexion();
        if (!IsPostBack)
        {
            usuario = (Usuarios)Session["UsuarioActual"];
        }
    }
    #endregion

    #region btnBuscar_Click
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            BMEmpleados bmEmpleados = new BMEmpleados(Connection);
            if (txtCodigo.Text.Trim() != "")
            {
                empleadoActual.Id_Empleado = Convert.ToInt16(txtCodigo.Text.Trim());
            }
            else
            {
                empleadoActual.Id_Empleado = 0;
            }

            empleadoActual.Nombre = txtNombre.Text.Trim();

            listEmpleados = bmEmpleados.BMEmpleadosGetAll();

            Session["listEmpleados"] = listEmpleados;
            CargarGrilla();

        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region btnNuevo_Click
    protected void btnNuevo_Click(object sender, EventArgs e)
    {
        Session["Accion"] = 1;
        Response.Redirect("EmpleadosGestion.aspx", false);
    }
    #endregion

    #region btnCancelar_Click
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/Seguridad/Default.aspx", false);
    }
    #endregion

    #region gvEmpleados_PageIndexChanging
    protected void gvEmpleados_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvEmpleados.PageIndex = e.NewPageIndex;
        CargarGrilla();
    }
    #endregion

    #region gvEmpleados_SelectedIndexChanged
    protected void gvEmpleados_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            BMEmpleados bmEmpleados = new BMEmpleados(Connection);
            Empleados empleado = new Empleados();
            empleado.Id_Empleado = (int)gvEmpleados.SelectedDataKey.Value;
            empleadoActual = empleado;
            empleado = bmEmpleados.BMEmpleadosGetOne(empleadoActual);

            Session["Empleado"] = empleado;
            Session["Accion"] = 2;
            Response.Redirect("EmpleadosGestion.aspx", false);
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #endregion

    #region Métodos
    private void CargarGrilla()
    {
        try
        {
            listEmpleados = (List<Empleados>)Session["listEmpleados"];
            gvEmpleados.DataSource = listEmpleados;
            gvEmpleados.DataBind();
        }
        catch (Exception ex) { ErrorUI(ex); }
    }

    #endregion

}
